#include <stdio.h>

// 联合的成员是共用同一块内存空间的，这样一个联合变量的大小，

// 联合体的大小至少是最大成员的大小
// 当最大成员大小不是最大对齐数的整数倍的时候，就要对齐到最大对齐数的整数倍
union Un{
    int num1;
    char c;
};

int main()
{
    union Un u ;
    printf("%d \n",sizeof(u)); // 输出 4，按照最大的取空间
    printf("%p \n", &u); // 输出 0061FF1C
    printf("%p \n", &(u.c)); // 输出 0061FF1C
    printf("%p \n", &(u.num1)); // 输出 0061FF1C
    u.num1 = 1;

    printf("%d \n", u.c); // 如果是0 ，大端；如果是1 小端。
    return 0;
}